package com.dc.project.workflow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dc.common.vo.ResultVo;
import com.dc.project.workflow.dto.WfModelCategoryDto;
import com.dc.project.workflow.entity.WfCategory;
import com.dc.project.workflow.entity.WfModelCategory;

import java.io.Serializable;

/**
 * 流程模型分类关联表(WfModelCategory)表服务接口
 *
 * @author zhuangcy
 * @since 2021-06-30 14:16:37
 */
public interface WfModelCategoryService extends IService<WfModelCategory> {

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return
     */
    ResultVo queryById(Serializable id);

    /**
     * 分页查询流程模型分类关联表
     *
     * @param dto
     * @return
     */
    ResultVo queryByPage(WfModelCategoryDto dto);

    /**
     * 新增流程模型分类关联表
     *
     * @param wfModelCategory
     * @return
     */
    ResultVo add(WfModelCategory wfModelCategory);

    /**
     * 编辑流程模型分类关联表
     *
     * @param wfModelCategory
     * @return
     */
    ResultVo edit(WfModelCategory wfModelCategory);

    /**
     * 根据主键删除流程模型分类关联表
     *
     * @param id 主键
     * @return
     */
    ResultVo delete(Serializable id);

    /**
     * 根据类别查询流程模型id
     *
     * @param docType
     * @return
     */
    String getCategoryModelIdByType(String docType);


    /**
     * 根据类别查询流程对应接口名
     *
     * @param category
     * @return
     */
    WfCategory getClassNameByCategory(String category);

    /**
     * 删除模型ID删除关联信息
     * @param modelId
     */
    void deleteByModelId(String modelId);
}